package com.leyou.search.pojo;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.Map;
import java.util.Set;

/**
 * Created by IntelliJ IDEA.
 *
 * @author: wangzibeng
 * Date: 2019/5/6 0006
 * Time: 9:40
 */

@Data
@Document(indexName = "goods", type = "docs", shards = 1)
public class Goods {
    /**
     * spuId
     */
    @Id
    @Field(type = FieldType.Keyword)
    private Long id;
    /**
     * 卖点
     */
    @Field(type = FieldType.Keyword, index = false)
    private String subTitle;
    /**
     * sku信息的json结构
     *
     * 用于页面展示的sku信息，因为不参与搜索，
     * 所以转为json存储。然后设置不索引，不搜索。包含skuId、image、price、title字段
     */
    @Field(type = FieldType.Keyword, index = false)
    private String skus;

    /**
     * 用来进行全文检索的字段，里面包含标题、商品分类、品牌、规格等信息
     * 所有需要被搜索的信息，包含标题，分类，甚至品牌
     */
    @Field(type = FieldType.Text, analyzer = "ik_max_word")
    private String all;
    /**
     * 品牌id
     */
    private Long brandId;
    /**
     * 商品3级分类id
     */
    private Long categoryId;
    /**
     * spu创建时间
     */
    private Long createTime;
    /**
     * 价格  价格数组，是所有sku的价格集合。方便根据价格进行筛选过滤
     */
    private Set<Long> price;
    /**
     * 可搜索的规格参数，key是参数名，值是参数值
     *
     *
     */
    private Map<String, Object> specs;
}
